package com.agrm.rabc.service;



import com.agrm.model.rabc.dto.Menu;
import com.agrm.model.rabc.dto.Perm;
import com.agrm.model.rabc.dto.Resource;
import com.agrm.model.rabc.dto.Role;

import java.util.List;
import java.util.Map;

public interface RbacService {
    //查询指定用户的所有角色，
    List<Role> findAllRolesByUserId(Integer userId);

    //查询指定用户的可用角色
    List<Role> findValidRolesByUserId(Integer userId);

    //查询指定用户的所有权限
    List<Perm> findAllPermsByUserId(Integer userId);

    //查询指定用户的可用权限
    List<Perm> findValidPermsByUserId(Integer userId);

    //查询资源-权限关联
    Map<Resource, List<Perm>> findAllResourcePermMappings();

    //查询指定用户的所有菜单
    List<Menu> findAllMenusByUserId(Integer userId);
}
